package com.ruoyi.gas.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.gas.domain.FullfillRecord;
import com.ruoyi.gas.domain.GetInRecord;
import com.ruoyi.gas.mapper.FullfillRecordMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.gas.mapper.GetOutRecordMapper;
import com.ruoyi.gas.domain.GetOutRecord;
import com.ruoyi.gas.service.IGetOutRecordService;

/**
 * 出站记录
Service业务层处理
 *
 * @author h w
 * @date 2022-12-09
 */
@Service
public class GetOutRecordServiceImpl implements IGetOutRecordService
{
    @Autowired
    private GetOutRecordMapper getOutRecordMapper;
    @Autowired
    private FullfillRecordMapper fullfillRecordMapper;

    /**
     * 查询出站记录

     *
     * @param getOutId 出站记录
主键
     * @return 出站记录

     */
    @Override
    public GetOutRecord selectGetOutRecordByGetOutId(Long getOutId)
    {
        return getOutRecordMapper.selectGetOutRecordByGetOutId(getOutId);
    }

    /**
     * 查询出站记录
列表
     *
     * @param getOutRecord 出站记录

     * @return 出站记录

     */
    @Override
    public List<GetOutRecord> selectGetOutRecordList(GetOutRecord getOutRecord)
    {
        return getOutRecordMapper.selectGetOutRecordList(getOutRecord);
    }

    /**
     * 新增出站记录

     *
     * @param getOutRecord 出站记录

     * @return 结果
     */
    @Override
    public int insertGetOutRecord(GetOutRecord getOutRecord)
    {
        if(getOutRecord.getFullfillId() != null) {
            FullfillRecord fullfillRecord = new FullfillRecord();
            fullfillRecord.setFullfillId(getOutRecord.getFullfillId());
            fullfillRecord.setStatus("1");
            fullfillRecordMapper.updateFullfillRecord(fullfillRecord);
        }
        getOutRecord.setCreateTime(DateUtils.getNowDate());
        return getOutRecordMapper.insertGetOutRecord(getOutRecord);
    }

    /**
     * 修改出站记录

     *
     * @param getOutRecord 出站记录

     * @return 结果
     */
    @Override
    public int updateGetOutRecord(GetOutRecord getOutRecord)
    {
        getOutRecord.setUpdateTime(DateUtils.getNowDate());
        return getOutRecordMapper.updateGetOutRecord(getOutRecord);
    }

    /**
     * 批量删除出站记录

     *
     * @param getOutIds 需要删除的出站记录
主键
     * @return 结果
     */
    @Override
    public int deleteGetOutRecordByGetOutIds(Long[] getOutIds)
    {
        return getOutRecordMapper.deleteGetOutRecordByGetOutIds(getOutIds);
    }

    /**
     * 删除出站记录
信息
     *
     * @param getOutId 出站记录
主键
     * @return 结果
     */
    @Override
    public int deleteGetOutRecordByGetOutId(Long getOutId)
    {
        return getOutRecordMapper.deleteGetOutRecordByGetOutId(getOutId);
    }
}
